import request from '@/utils/request'

// 日程管理 VO
export interface SchedulesVO {
  id: number // 日程ID
  schedulerId: number // 日程所属人ID
  title: string // 日程标题
  description: string // 日程描述
  startTime: Date // 开始时间
  endTime: Date // 结束时间
  location: string // 地点
  remark: string // 备注
  reminderCount: number // 提醒次数
  lastReminderTime: Date // 上一次提醒时间
  reminderFrequency: number // 提醒频率提醒频率（0: 5分钟一次, 1: 10分钟一次, 2: 15分钟一次, 3: 20分钟一次）
  reminderTimes: number // 提醒时间(0: 不提醒, 1: 提前10分钟, 2: 提前15分钟, 3: 提前30分钟, 4: 提前45分钟, 5: 提前一小时, 6: 提前2小时)
  reminderMode: number // 提醒方式（1：站内信，2：短信通知，3同时通知）
}

// 日程管理 API
export const SchedulesApi = {
  // 查询日程管理分页
  getSchedulesPage: async (params: any) => {
    return await request.get({ url: `/system/schedules/page`, params })
  },

  // 查询日程管理详情
  getSchedules: async (id: number) => {
    return await request.get({ url: `/system/schedules/get?id=` + id })
  },

  // 新增日程管理
  createSchedules: async (data: SchedulesVO) => {
    return await request.post({ url: `/system/schedules/create`, data })
  },

  // 修改日程管理
  updateSchedules: async (data: SchedulesVO) => {
    return await request.put({ url: `/system/schedules/update`, data })
  },

  // 删除日程管理
  deleteSchedules: async (id: number) => {
    return await request.delete({ url: `/system/schedules/delete?id=` + id })
  },

  // 分享日程
  SharedSchedules: async (data: { id: number; userId: number }) => {
    return await request.post({ url: `/system/schedules/share`, data })
  },

  // 导出日程管理 Excel
  exportSchedules: async (params) => {
    return await request.download({ url: `/system/schedules/export-excel`, params })
  },
}
